/*
 * midiFile.h
 *
 *  Created on: 15 nov. 2010
 *      Author: guillaume
 */

#ifndef MIDIFILE_HPP_
#define MIDIFILE_HPP_

#include <vector>
#include "HeaderChunk.hpp"
#include "TrackChunk.hpp"

class MidiFile {

public:
	MidiFile();
	~MidiFile();

   // inline unsigned const char* getHeaderString() const { return headerString;}

    //void toString();
    //void setHeaderString(unsigned char* headerString);
	/*
	 * setHeaderChunk sets every members of the HeaderChunk member.
	 */
	void setHeaderChunk(unsigned char*);
	void setTrackChunks(unsigned char*);
	void setNoteDuration();
	void viewNoteDuration();

	unsigned char* getHeaderChunk();
	HeaderChunk myHeaderChunk;
	TrackChunk* tabTrackChunk;
	static int offsetBuffer;
	static bool error;


private :

    //HeaderChunk myHeaderChunk;
    //vector<TrackChunk> myVectorTrackChunk;

};



#endif /* MIDIFILE_HPP_ */
